package pacman;

import java.util.ArrayList;

/**
 * An interface for map files parsers.
 */
public interface iParser {
    /**
     * Returns the extension supported by the parser.
     * @return A string containing the extension supported by the map.
     */
    public String getSupportedExt();

    /**
     * Loads the map in the file found in specified file.
     * @param FileName The file containing the map to be loaded.
     */
    public void LoadMap(String FileName);
    
    /**
     * Returns a list of food found on loaded map.
     * @return An ArrayList of iFood found on the loaded map.
     */
    public ArrayList<iFood> getFoodList();
    
    /**
     * Returns a list of ghosts found on the loaded map.
     * @return An ArrayList of iGhosts found on loaded map.
     */
    public ArrayList<iGhost> getGhostList();
    
    /**
     * Returns a list of pacmen found on the loaded map.
     * @return An ArrayList of cPacman found on loaded map.
     */
    public ArrayList<cPacman> getPacmanList();
    
    /**
     * Returns the map loaded.
     * @return An bi-dimensional array of iCase.
     */
    public iCase[][] getMap();
}
